package com.yonyou.pmclouds.workflow.service.rmiitf;

import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.workflow.entity.ApproveInfoParam;
import com.yonyou.pmclouds.workflow.entity.ProcessDefinitionVO;

public interface IFlowApprove {

    boolean approve(String pkBill,String definitionKey, byte billStatus) throws BusinessException;

    SuperVO approveByBillType(String pkBill,String billType, byte billStatus) throws BusinessException;

    boolean reject(ApproveInfoParam approveInfoParam) throws BusinessException;

    SuperVO getBuziVOForWorkFlow(String pkBill,String billType) throws BusinessException;

    ProcessDefinitionVO getDefinitionByKey(String definitionKey) throws BusinessException;

    SuperVO deleteBill(String pkBill, String billType) throws BusinessException;

    IFlowApproveBuziService getBusinessService(String billType) throws BusinessException;

    Object getBusinessMapper(String billType);

}
